home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_shw_hammer.cog < prev    next >
Text File  |  1999-11-15  |  4KB  |  160 lines

  1. # Jones 3D Cog Script
  2. #
  3. # shw_hammer.cog
  4. #
  5. # The Hammer Cog, heh
  6. #
  7. # blocked handler added by [TRM] 8/10/99
  8. # hide hammers added by [TRM] 10/1/99
  9. #
  10. # [CMG]
  11. #
  12. # (C) 1999 LucasArts Entertainment Co. All Rights Reserved
  13. # ========================================================================================
  14.  
  15. symbols
  16.  
  17.         message startup
  18.         message user1
  19.         message entered
  20.         message exited
  21.         message arrived
  22.         message blocked
  23.         
  24.         thing   player          local
  25.         thing   deadIndy        local
  26.         thing   hammer0
  27.         thing   bracket         # hide/show this
  28.         
  29.         sector  hideHammers
  30.         sector  showHammers0    linkID=1
  31.         sector  showHammers1    linkID=1
  32.         
  33.         surface spot0
  34.         
  35.         sound   sndDie=tem_temspikes_up_kill_c.wav      local
  36.         
  37.         sound   camtouch
  38.         sound   hit
  39.         
  40.         template    tpl_Indy=indy_actor         local
  41.  
  42.         keyframe    inDie=in_die_buckle.key     local
  43.         
  44.         int     movespeed=2
  45.         int     on_Spot=0       local
  46.         int     deadMan=0       local
  47.         int     victim          local
  48.         int     canSee=1        local
  49.         int     dif_Level       local
  50.         
  51. end
  52.  
  53. # ========================================================================================
  54. code
  55.  
  56. startup:
  57.  
  58.     player = GetLocalPlayerThing();
  59.     SetCollideType(hammer0, 3);
  60.     return;
  61.  
  62. # ========================================================================================
  63.  
  64. user1:
  65.         playsoundthing(camtouch, hammer0, 0.5, 10.0, 30.0, 0);
  66.         movetoframe(hammer0, 1, movespeed);
  67.         return;
  68.         
  69. # ========================================================================================
  70.  
  71. entered:
  72.  
  73.     if(GetSenderRef() == spot0)
  74.     {
  75.         on_Spot = 1;
  76.     }
  77.     
  78.     if((GetSenderRef() == hideHammers) && (canSee == 1))
  79.     {
  80.         canSee = 0;
  81.         SetThingFlags(hammer0, 0x10);
  82.         SetThingFlags(bracket, 0x10);
  83.     }
  84.     
  85.     if((GetSenderID() == 1) && (canSee == 0))
  86.     {
  87.         canSee = 1;
  88.         ClearThingFlags(hammer0, 0x10);
  89.         ClearThingFlags(bracket, 0x10);
  90.     }
  91.  
  92.     return;
  93.  
  94. # ========================================================================================
  95.  
  96. exited:
  97.  
  98.     if((GetSenderRef() == spot0) && (GetSourceRef() == player))
  99.     {
  100.         on_Spot = 0;
  101.     }
  102.  
  103.     return;
  104.  
  105. # ========================================================================================
  106. arrived:
  107.  
  108.     dif_Level = GetDifficulty();
  109.  
  110.     If (GetSenderRef() == hammer0) 
  111.     {
  112.         if (GetCurFrame(hammer0) == 0)
  113.         {
  114.             playsoundthing(hit, hammer0, 1.0, 10.0, 30.0, 0);
  115.         }
  116.     
  117.         if (GetCurFrame(hammer0) == 1)
  118.         {
  119.             if(dif_Level <= 2) Sleep(0.25);
  120.             Sleep(0.25);
  121.             movetoframe(hammer0, 0, 12);
  122.         }
  123.     }
  124.     
  125.     return;
  126.          
  127. # ========================================================================================
  128.  
  129. blocked:
  130.  
  131.     if((GetSenderRef() == hammer0) && (on_Spot == 1) && (deadMan == 0))
  132.     {
  133.         deadMan = 1;
  134.         
  135.         SetCollideType(hammer0, 0);
  136.         DamageThing(player, 1000.0, 0x1, victim);
  137.         PlaySoundLocal(sndDie, 1.0, 0.0, 0x0, 0);
  138.                             
  139.         # Disable and hide player
  140.         SetThingFlags(player, 0x80000);
  141.         
  142.         # create actor indy
  143.         deadIndy = CreateThing(tpl_Indy, player);
  144.         CaptureThing(deadIndy);
  145.                             
  146.         # Show actor Indy and play Keyframe
  147.         ClearThingFlags(deadIndy, 0x80000);
  148.         PlayKey(deadIndy, inDie, 4, 0x14, 0);
  149.         
  150.         # reset collide to hack bug
  151.         SetCollideType(hammer0, 3);
  152.     }
  153.     
  154.     return;
  155.     
  156. # ========================================================================================
  157. end
  158.  
  159.         
  160.